Presently disclosed embodiments are related to image color management, adjustment and/or control. Disclosed embodiments are directed to the color management of color halftoned or binary images. Embodiments are beneficially applied wherever image or pixel data is quantized to such an extent as to render traditional contone value-based corrections, compensations, calibrations and adjustments impractical or ineffective.
There are many applications where it is desirable to be able to adjust one or more aspects of the color of an image or image portion. For instance, a user or document processor operator may determine that it is desirable to adjust the brightness, contrast, saturation, hue or color balance of an image. Where respective portions of a document are to be rendered on a plurality of print engines, it may be desirable to adjust one or more aspects of color of one or more of the respective document portions in order to maintain or control color consistency across the rendering space of multiple print engines. Also, uniformity variations can occur across the rendering space of a single print engine. In such instances, it may be desirable to adjust one or more aspects of color of an image or portions of an image in a spatially dependent manner across such a single print engine rendering space. Additionally, or alternatively, an image or image portion may be prepared for rendering on a first device having a first color response. Nevertheless, there may be a desire to render the image or image portion on the second device having a second color response. Alternatively, the characteristics of a rendering device may change overtime or due to environmental factors such as temperature and humidity. Therefore, the rendering device may have a second color response. In such circumstances, it is often desirable to adjust image data that was prepared for rendering with or on a first or original rendering device for rendering on a second or changed target device.
Image data is sometimes available in the form of continuous tone or contone data. For instance, in contone image data, colors are described in terms of two or more planes or separations. For example, the planes or separations may describe colorant densities or colorant amounts in a continuous range of from, for example, integer values from 0 to 255. The planes or separations may describe sensor readings of a scanned image in, for example, a red, green, blue (RGB) color space where numbers in a similar range describe an intensity of reflected light of each respective color. Alternatively, the planes or separations may describe a color in terms of a machine independent color space such as in terms of the industry standard L*a*b* color space or in terms of the tristimulus values of the CIE XYZ color space, or in terms of a printer color space, such as, for example, a cyan, magenta, yellow, black (CMYK) color space.
Where image data is available in contone format, tone reproduction curves (TRCs) can be used to adjust pixel values to compensate for the characteristics or color response of a particular rendering device or marking engine. Additionally, or alternatively, values associated with particular planes or separations can be adjusted in accord with a user's color adjustment preference to control, for example, brightness, contrast, hue, saturation and other color parameters.
However, image descriptions are not always available in terms of contone values. Sometimes, image descriptions are only available in what is referred to as a binary or quantized format. Binary image description formats are useful because many rendering devices, such as, for example, marking engines, are limited to placing a mark or not placing a mark at any given pixel location. Binary image formats describe an image in terms of placing a mark or not placing a mark. Even where pixels are referred to as—high addressable—and are described with reference to more than two states or quantization levels, ultimately, high addressable quantization values describe binary states of a cluster of spots wherein each member of the cluster is either marked or unmarked.
These quantized or binary image descriptions are often generated by applying a halftoning or quantization process to an image described in terms of contone values, page description language and the like. Therefore, we refer to such binary or quantized image descriptions as halftoned.
A received halftoned image or image description may be the direct or indirect result of a halftoning process. For example, a rendered or printed halftoned image may be scanned. Even though the scanning process generates contone values, the scanned image data is binary or quantized in nature because the scanned image data will contain very few different quantization levels. For example, the quantization levels of the scanned image data will be near the extremes of the available contone range. For instance, the scanned image data of a halftoned or a rasterized image will contain only values near 0 and 255 (in an 8-bit system) with some intermediate values generated due to sensor/spot alignment issues and the like. All images having these binary or nearly binary characteristics are referred to herein as halftone images.
The limited gray-scale resolution with which pixels in a halftoned image describe desired lightness levels or shades of gray (or color) limits the usefulness of compensating TRCs for generating compensated values. For example, where a compensating TRC may be used to determine that a compensated value for a shade of gray represented by the number 100 might be a value of 103, a similar tone reproduction curve could not be used to determine a corrected value where an input value must select an output value from an available range of values of only 0 and 1, on and off, or full scale dark and full scale light. Therefore, it has not been possible or practical to use compensating TRCs and the like to compensate or adjust the color of halftoned images.
Nevertheless, there has been a desire to adjust or compensate images based on user preference and/or rendering device changes, in systems where image data is only available in a halftoned form.